From e7cd1bdfea0c30a9f2592c1c7bf66eb2b743a701 Mon Sep 17 00:00:00 2001 From: Tim Deegan Date: Mon, 16 Jul 2007 14:27:12 +0100 Subject: [PATCH] [HVM] Qemu rtl8139: correct ring-buffer wrapping. The rx DMA should never overrun when it hits the end of a 64k buffer Signed-off-by: Tim Deegan --- tools/ioemu/hw/rtl8139.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/ioemu/hw/rtl8139.c b/tools/ioemu/hw/rtl8139.c index 6883803fe3..df4f3eebdd 100644 --- a/tools/ioemu/hw/rtl8139.c +++ b/tools/ioemu/hw/rtl8139.c @@ -754,7 +754,7 @@ static void rtl8139_write_buffer(RTL8139State *s, const void *buf, int size) int wrapped = MOD2(s->RxBufAddr + size, s->RxBufferSize); /* write packet data */ - if (wrapped && s->RxBufferSize < 65536 && !rtl8139_RxWrap(s)) + if (wrapped && !(s->RxBufferSize < 65536 && rtl8139_RxWrap(s))) { DEBUG_PRINT((">>> RTL8139: rx packet wrapped in buffer at %d\n", size-wrapped)); -- 2.30.2